Po Lu [Wed, 19 Jan 2022 13:26:38 +0000 (21:26 +0800)]
Fix recent change for big endian systems where `Atom' is 64 bits
* src/xfns.c (x_create_tip_frame): Cast atoms to xcb_atom_t
and pass a reference to that to xcb_change_property instead.
Stefan Monnier [Wed, 19 Jan 2022 13:18:19 +0000 (08:18 -0500)]
* lisp/cus-face.el (custom-face-attributes): Expose the lambdas
Eli Zaretskii [Wed, 19 Jan 2022 12:00:45 +0000 (14:00 +0200)]
; Yet another improvement of doc strings in textsec
* lisp/international/textsec.el (textsec-local-address-suspicious-p)
(textsec-name-suspicious-p): Fix wording of doc strings.
Po Lu [Wed, 19 Jan 2022 11:06:53 +0000 (19:06 +0800)]
Port some X11 tooltip code to XCB
* configure.ac: Require `xcb-aux' to be present before using
XCB.
* src/xfns.c (x_sync):
(x_create_tip_frame):
(Fx_show_tip): Port window related code to XCB.
Lars Ingebrigtsen [Wed, 19 Jan 2022 10:34:48 +0000 (11:34 +0100)]
Deconfuse textsec doc strings slightly
* lisp/international/textsec.el (textsec-name-suspicious-p):
(textsec-domain-suspicious-p):
(textsec-local-address-suspicious-p):
(textsec-name-suspicious-p):
(textsec-suspicious-nonspacing-p):
(textsec-email-suspicious-p): Suspiciosness isn't only about
homoglyphs, so don't claim so in the doc strings.
Robert Pluim [Wed, 19 Jan 2022 10:20:06 +0000 (11:20 +0100)]
Improve textsec doc strings
* lisp/international/textsec.el (textsec-domain-suspicious-p)
(textsec-local-address-suspicious-p, textsec-name-suspicious-p)
(textsec-suspicious-nonspacing-p): Improve doc strings.
Po Lu [Wed, 19 Jan 2022 09:39:04 +0000 (17:39 +0800)]
Use Cairo XCB surfaces when XCB is available
This lets us get at goodies such as shm support, which aren't
available with the xlib surface. (bug#52120)
* configure.ac: Test for cairo-xcb if cairo is available on X.
* src/xterm.c (USE_CAIRO_XCB_SURFACE): New define.
(x_begin_cr_clip): Create XCB surfaces if available.
(x_try_cr_xlib_drawable):
(x_scroll_run): Handle XCB surfaces.
(x_term_init): Find XCB visualtype structure.
* src/xterm.h (struct x_display_info): New field `xcb_visual'.
* src/xwidget.c (x_draw_xwidget_glyph_string): Fix integer
overflow.
Eli Zaretskii [Wed, 19 Jan 2022 08:57:03 +0000 (10:57 +0200)]
Minor improvement in textsec diagnostics
* lisp/international/textsec.el (textsec-suspicious-nonspacing-p):
Clarify wording of the strings returned to explain the suspicious
use of nonspacing characters.
Eli Zaretskii [Wed, 19 Jan 2022 08:41:11 +0000 (10:41 +0200)]
; * etc/NEWS ('use-system-tooltips'): Improve wording.
Michael Albinus [Wed, 19 Jan 2022 08:07:49 +0000 (09:07 +0100)]
Respect structure of Tramp archive file names
* lisp/net/tramp.el (tramp-make-tramp-file-name):
Respect structure of archive file names.
Po Lu [Wed, 19 Jan 2022 06:00:13 +0000 (06:00 +0000)]
* src/haikufns.c (Fx_display_mm_width): Fix copy-paste error.
Po Lu [Wed, 19 Jan 2022 05:12:18 +0000 (13:12 +0800)]
Rename system tooltip variables to `use-system-tooltips'
* doc/emacs/frames.texi (Tooltips):
* doc/emacs/haiku.texi (Haiku Basics):
* doc/lispref/display.texi (Tooltips): Document
`use-system-tooltips' instead.
* etc/NEWS: Announce new option.
* lisp/cus-start.el (standard): Add new option.
* lisp/term/haiku-win.el (haiku-use-system-tooltips):
* lisp/term/pgtk-win.el (x-gtk-use-system-tooltips):
* lisp/term/x-win.el (x-gtk-use-system-tooltips): Add aliases
for old options.
* src/frame.c (syms_of_frame): New variable
`use-system-tooltips'.
* src/haikufns.c (Fx_show_tip):
(syms_of_haikufns):
* src/pgtkfns.c (x_hide_tip):
(Fx_show_tip):
(syms_of_pgtkfns):
* src/xfns.c (x_hide_tip):
(Fx_show_tip):
(syms_of_xfns): Use `use-system-tooltips' instead of the old
platform dependent options.
Po Lu [Wed, 19 Jan 2022 02:08:52 +0000 (02:08 +0000)]
Use more reliable timestamps for some kinds of events on Haiku
* src/haiku_support.cc (DispatchMessage):
(MouseMoved):
(MouseDown):
(MouseUp): Set `time' field of event structures to input server
time.
* src/haiku_support.h (struct haiku_key_event):
(struct haiku_mouse_motion_event):
(struct haiku_button_event): New field `time'.
* src/haikuterm.c (haiku_read_socket): Use input server time
if provided.
Po Lu [Wed, 19 Jan 2022 01:14:19 +0000 (01:14 +0000)]
Fix event timestamp generation on Haiku
* src/haikuterm.c (haiku_read_socket): Use miliseconds for event
time.
Stefan Monnier [Tue, 18 Jan 2022 21:53:28 +0000 (16:53 -0500)]
cl-generic-tests.el: Fix warning
* test/lisp/emacs-lisp/cl-generic-tests.el (ert): Require at run-time
for `ert--get-explainer`.
Stefan Monnier [Tue, 18 Jan 2022 21:42:19 +0000 (16:42 -0500)]
VC: Fix tests for SCCS and Mtn
* test/lisp/vc/vc-tests.el: Prefer closures to `(lambda ...).
(vc-test-mtn05-rename-file, vc-test-mtn06-version-diff): Skip.
* lisp/vc/vc.el (vc-responsible-backend): Fix vc-test--register on SCCS.
Stefan Monnier [Tue, 18 Jan 2022 21:40:32 +0000 (16:40 -0500)]
autoload.el: Fix corner case and avoid encoding issues
* lisp/emacs-lisp/autoload.el (autoload-print-form): Don't burp when
autoloading a `cl-defmethod`.
(autoload-rubric): Support non-UTF-8 chars and enforce Unix EOLs.
Eli Zaretskii [Tue, 18 Jan 2022 19:08:19 +0000 (21:08 +0200)]
Improve doc strings in textsec.el
* lisp/international/textsec.el (textsec-mixed-numbers-p)
(textsec-ascii-confusable-p, textsec-resolved-script-set)
(textsec-single-script-confusable-p)
(textsec-mixed-script-confusable-p)
(textsec-whole-script-confusable-p, textsec-domain-suspicious-p)
(textsec-local-address-suspicious-p, textsec-name-suspicious-p)
(textsec-suspicious-nonspacing-p): Doc fix.
Eli Zaretskii [Tue, 18 Jan 2022 14:24:36 +0000 (16:24 +0200)]
Remove 'cuneiform-numbers-and-punctuation' from w32font.c
* src/w32font.c (syms_of_w32font, font_supported_scripts): Remove
'cuneiform-numbers-and-punctuation'. Reported by Kévin Le Gouguec
<kevin.legouguec@gmail.com>.
Lars Ingebrigtsen [Tue, 18 Jan 2022 12:34:39 +0000 (13:34 +0100)]
The name in textsec-email-suspicious-p is optional
* lisp/international/textsec.el (textsec-email-suspicious-p): The
name is optional.
Lars Ingebrigtsen [Tue, 18 Jan 2022 12:19:55 +0000 (13:19 +0100)]
Add textsec functions for verifying email addresses
* lisp/international/characters.el (bidi-control-characters):
Rename from glyphless--bidi-control-characters for use in textsec,
and add LRM/RLM/ALM.
(update-glyphless-char-display): Adjust the code.
* lisp/international/textsec.el (textsec-local-address-suspicious-p)
(textsec-name-suspicious-p, textsec-suspicious-nonspacing-p)
(textsec-email-suspicious-p): New functions.
Po Lu [Tue, 18 Jan 2022 11:52:51 +0000 (19:52 +0800)]
Intern virtual modifier atoms the smart way on X
* src/xterm.c (x_find_modifier_meanings): Get rid of calls to
XInternAtom.
(x_term_init): Initialize atom refs for virtual modifiers and
make sure to only call `x_find_modifier_meanings' after they
are interned.
* src/xterm.h (struct x_display_info): New fields for virtual
modifier atoms.
Lars Ingebrigtsen [Tue, 18 Jan 2022 10:53:01 +0000 (11:53 +0100)]
Add textsec-domain-suspicious-p
* .gitignore: Ignore idna-mapping.el.
* admin/notes/unicode: Note idna-mapping file.
* admin/unidata/IdnaMappingTable.txt: New file.
* admin/unidata/Makefile.in (all): Generate idna-mapping.el.
* admin/unidata/unidata-gen.el (unidata-gen-idna-mapping): Generate.
* lisp/international/textsec.el (textsec-domain-suspicious-p): New
function.
Michael Albinus [Tue, 18 Jan 2022 10:27:15 +0000 (11:27 +0100)]
Morka handling of multi-hops in Tramp more consistent
* lisp/net/tramp.el (tramp-make-tramp-file-name): Adapt argument list.
Add hops to `tramp-default-proxies-alist'.
(tramp-find-foreign-file-name-handler): Adapt argument list.
(tramp-handle-abbreviate-file-name): Abbreviate multi-hops.
(tramp-handle-file-remote-p): Adapt handling of hops.
(tramp-add-hops): New defun.
(tramp-compute-multi-hops): Use it.
* lisp/net/tramp.el (tramp-make-tramp-hop-name, tramp-get-buffer)
(tramp-file-name-handler, tramp-handle-file-truename)
(tramp-handle-insert-file-contents, tramp-local-host-p)
(tramp-read-passwd, tramp-clear-passwd):
* lisp/net/tramp-archive.el (tramp-archive-dissect-file-name)
(tramp-archive-gvfs-file-name):
* lisp/net/tramp-cache.el (tramp-get-hash-table):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
(tramp-sh-handle-make-process, tramp-sh-handle-process-file)
(tramp-sh-file-name-handler-p, tramp-get-remote-path):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename):
Adapt callees.
* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
(tramp-test02-file-name-dissect-simplified)
(tramp-test02-file-name-dissect-separate)
(tramp-test07-abbreviate-file-name): Adapt tests.
Po Lu [Tue, 18 Jan 2022 08:25:02 +0000 (08:25 +0000)]
* src/haikuterm.c (haiku_read_socket): Add work for frame size bug.
BWindow::ResizeTo seems to have the same rounding issues that
BRect has, but I have no idea how to solve it there. As a
temporary workaround until a solution has been found, avoid
garbaging tooltip frames when FrameResized reports different
dimensions from what they were set to.
Lars Ingebrigtsen [Tue, 18 Jan 2022 09:24:32 +0000 (10:24 +0100)]
Add textsec predicates for different types of confusability
* lisp/international/textsec.el (textsec-resolved-script-set)
(textsec-single-script-confusable-p)
(textsec-mixed-script-confusable-p)
(textsec-whole-script-confusable-p): New functions.
Lars Ingebrigtsen [Tue, 18 Jan 2022 08:57:43 +0000 (09:57 +0100)]
Add textsec support for confusable characters
* admin/notes/unicode: Note the confusables.txt file.
* admin/unidata/Makefile.in (${unidir}/uni-confusable.el):
Generate the confusable file.
* admin/unidata/README (https): Add confusables.txt.
* admin/unidata/confusables.txt: New file.
* admin/unidata/unidata-gen.el (unidata-gen-confusable): Parse the
confusables.txt file.
* lisp/international/textsec.el (textsec-ascii-confusable-p)
(textsec-unconfuse-string): New functions.
Lars Ingebrigtsen [Mon, 17 Jan 2022 17:29:12 +0000 (18:29 +0100)]
Improve textsec-restriction-level doc string
* lisp/international/textsec.el (textsec-restriction-level):
Improve doc string.
Po Lu [Tue, 18 Jan 2022 08:20:37 +0000 (08:20 +0000)]
* src/haikufns.c (Fx_show_tip): Fix typo.
Po Lu [Tue, 18 Jan 2022 08:19:16 +0000 (08:19 +0000)]
Fix default value of `no-special-glyphs' frame parameter on Haiku
* src/haikufns.c (haiku_create_frame): Make `no-special-glyphs'
nil by default.
Po Lu [Tue, 18 Jan 2022 08:15:08 +0000 (08:15 +0000)]
Improve tooltip implementation on Haiku
This fixes several issues: tooltips having no right internal
border, reusing tooltips occasionally freezing Emacs, and
inconsistent behaviour when compared to X.
* src/haiku_support.cc (BWindow_resize): Revert a recent change.
(BView_move_frame):
(BWindow_set_avoid_focus): Stop sync'ing when locked. This
tends to cause lockups for an unknown reason.
* src/haikufns.c (initial_setup_back_buffer): New function.
(haiku_create_frame): Remove tooltip related code.
(haiku_set_internal_border_width): Handle cases where the face
cache is NULL and/or the window has not been created.
(haiku_set_inhibit_double_buffering): Likewise.
(haiku_create_tip_frame): New function.
(Fx_create_frame): Remove tooltip specific code.
(Fx_show_tip): Synchronize code with X.
* src/haikuterm.c (haiku_new_font): Don't adjust size on tooltip
frames.
(haiku_read_socket): Draw internal border on tooltip frames
during resize.
(haiku_clear_under_internal_border): Handle cases where the face
cache is NULL.
Po Lu [Tue, 18 Jan 2022 07:56:08 +0000 (15:56 +0800)]
* lisp/tooltip.el (tooltip-show-help): Fix typo.
Po Lu [Tue, 18 Jan 2022 03:34:55 +0000 (11:34 +0800)]
* lisp/tooltip.el: Fix warning when built on a non-Haiku system.
Eli Zaretskii [Tue, 18 Jan 2022 03:33:28 +0000 (05:33 +0200)]
; * lisp/international/fontset.el (setup-default-fontset): Fix last change.
Po Lu [Tue, 18 Jan 2022 02:41:29 +0000 (02:41 +0000)]
Fix system tooltips above menus
* src/haikufns.c (Fx_show_tip): Disable frame reuse inside a
menu.
(syms_of_haikufns): New symbol `tooltip-reuse-hidden-frame'.
Po Lu [Tue, 18 Jan 2022 02:06:00 +0000 (02:06 +0000)]
Allow non-system tooltips to display above menus on Haiku
* doc/emacs/haiku.texi (Haiku Basics): Document that tooltips
can now be displayed above the menu bar.
* lisp/tooltip.el (tooltip-show-help): Only display help text in
the echo area if Haiku system tooltips are enabled.
* src/haiku_support.cc (FlipBuffers): Stop flushing view.
* src/haikufns.c (Fx_show_tip): Fix a sizing bug leading to
tooltips needing two redisplays to display correctly.
* src/haikuterm.c (haiku_read_socket): Ignore resize events on
tooltips.
Stefan Monnier [Mon, 17 Jan 2022 21:28:02 +0000 (16:28 -0500)]
(hack-local-variables--find-variables): Use `user-error`
* lisp/files.el (hack-local-variables--find-variables):
Incorrect formatting are not coding errors.
Eli Zaretskii [Mon, 17 Jan 2022 19:49:58 +0000 (21:49 +0200)]
Fix minor inconsistencies in 'char-script-table'
* admin/unidata/blocks.awk (name2alias): Map some obscure blocks
to their native scripts, to follow Scripts.txt.
* lisp/international/characters.el (char-script-table): Add
few exceptions.
* lisp/international/fontset.el (script-representative-chars):
Remove scripts no longer used.
Robert Pluim [Mon, 17 Jan 2022 17:24:31 +0000 (18:24 +0100)]
; textsec.el: fix typo
* lisp/international/textsec.el (textsec-covering-scripts): Fix typo
in docstring.
Eli Zaretskii [Mon, 17 Jan 2022 17:15:30 +0000 (19:15 +0200)]
Doc fixes in textsec.el
* lisp/international/textsec.el (textsec-scripts)
(textsec-single-script-p, textsec-covering-scripts): Clarify "script".
Eli Zaretskii [Mon, 17 Jan 2022 17:09:22 +0000 (19:09 +0200)]
; * admin/notes/unicode: Update.
Lars Ingebrigtsen [Mon, 17 Jan 2022 17:01:59 +0000 (18:01 +0100)]
Change textsec-mixed-numbers-p to use recommended algorithm
* lisp/international/textsec.el (textsec-mixed-numbers-p): New
function.
Lars Ingebrigtsen [Mon, 17 Jan 2022 16:32:58 +0000 (17:32 +0100)]
Add new function textsec-mixed-numbers-p
* lisp/international/textsec.el (textsec-mixed-numbers-p): New
function.
Lars Ingebrigtsen [Mon, 17 Jan 2022 15:27:10 +0000 (16:27 +0100)]
Add some textsec-restriction-level comments
* lisp/international/textsec.el (textsec-restriction-level): Add
comment about source of the list of languages.
Lars Ingebrigtsen [Mon, 17 Jan 2022 15:24:17 +0000 (16:24 +0100)]
Add textsec-restriction-level function
* lisp/international/textsec.el (textsec-restriction-level): New
function.
Lars Ingebrigtsen [Mon, 17 Jan 2022 15:06:04 +0000 (16:06 +0100)]
Fix some doc strings in textsec.el
* lisp/international/textsec.el (textsec-single-script-p): Fix
typo in doc string.
(textsec-covering-scripts): Improve doc string and sort the results.
Lars Ingebrigtsen [Mon, 17 Jan 2022 14:51:58 +0000 (15:51 +0100)]
Avoid loading the possibly stale unidata-gen.elc file
* admin/unidata/Makefile.in (${unidir}/uni-scripts.el): Fix .elc
staleness. (Should probably be fixed in a different way.)
Lars Ingebrigtsen [Mon, 17 Jan 2022 14:47:37 +0000 (15:47 +0100)]
Add support for functions that deal with Unicode scripts
* admin/unidata/Makefile.in (${unidir}/uni-scripts.el): Build
uni-scripts.el.
* admin/unidata/Scripts.txt:
* admin/unidata/ScriptExtensions.txt:
* admin/unidata/PropertyValueAliases.txt: New files from Unicode.
* admin/unidata/README: Update.
* admin/unidata/unidata-gen.el (unidata-gen-charprop): Allow
writing other data, too.
(unidata-gen-scripts, unidata-gen--read-script-aliases)
(unidata-gen--insert-file): New functions to parse the Script* files.
* lisp/international/textsec.el: Implement some functions that
work on scripts.
Lars Ingebrigtsen [Mon, 17 Jan 2022 11:40:43 +0000 (12:40 +0100)]
Move the Gnus range functions to a new range.el file
* lisp/emacs-lisp/range.el: New file.
* lisp/gnus/gnus-agent.el (range):
(gnus-agent-synchronize-group-flags):
(gnus-agent-possibly-alter-active):
(gnus-agent-fetch-headers):
(gnus-agent-read-agentview):
(gnus-agent-fetch-group-1):
(gnus-agent-read-p):
(gnus-agent-expire-group-1):
(gnus-agent-retrieve-headers): Adjust callers.
* lisp/gnus/gnus-art.el (range):
(gnus-article-describe-bindings):
* lisp/gnus/gnus-cloud.el (range):
(gnus-cloud-available-chunks):
* lisp/gnus/gnus-draft.el (gnus-group-send-queue):
* lisp/gnus/gnus-group.el (range):
(gnus-group-line-format-alist):
(gnus-number-of-unseen-articles-in-group):
(gnus-group-update-eval-form):
(gnus-group-read-group):
(gnus-group-delete-articles):
(gnus-group-catchup):
(gnus-group-expire-articles-1):
(gnus-add-marked-articles):
* lisp/gnus/gnus-int.el (gnus-request-marks):
* lisp/gnus/gnus-kill.el (gnus-apply-kill-file-internal):
* lisp/gnus/gnus-range.el (gnus-range-difference)
(gnus-sorted-range-intersection, gnus-uncompress-range)
(gnus-add-to-range, gnus-remove-from-range)
(gnus-member-of-range, gnus-list-range-intersection)
(gnus-list-range-difference, gnus-range-length, gnus-range-add)
(gnus-range-map): Make into obsolete aliases.
* lisp/gnus/gnus-start.el (gnus-make-articles-unread):
(gnus-convert-old-ticks):
(gnus-read-old-newsrc-el-file):
* lisp/gnus/gnus-sum.el (gnus-select-newsgroup):
(gnus-articles-to-read):
(gnus-articles-to-read):
(gnus-killed-articles):
(gnus-adjust-marked-articles):
(gnus-update-marks):
(gnus-update-marks):
(gnus-compute-read-articles):
(gnus-list-of-read-articles):
(gnus-summary-update-info):
(gnus-summary-move-article):
(gnus-summary-expire-articles):
(gnus-update-read-articles):
(gnus-summary-insert-old-articles):
(gnus-summary-insert-old-articles):
(gnus-summary-insert-old-articles):
* lisp/gnus/mail-source.el (gnus-range):
(gnus-compress-sequence):
* lisp/gnus/nnheader.el (range):
(gnus-range-add):
(nnheader-update-marks-actions):
* lisp/gnus/nnimap.el (nnimap-update-info):
(nnimap-update-info):
(nnimap-update-info):
(nnimap-update-qresync-info):
(nnimap-update-qresync-info):
(nnimap-update-qresync-info):
(nnimap-parse-copied-articles):
* lisp/gnus/nnmaildir.el (nnmaildir-request-update-info):
(nnmaildir-request-update-info):
(nnmaildir-request-expire-articles):
(nnmaildir-request-expire-articles):
(nnmaildir-request-set-mark):
* lisp/gnus/nnmairix.el (nnmairix-request-set-mark):
* lisp/gnus/nnmbox.el (nnmbox-record-active-article):
(nnmbox-record-deleted-article):
* lisp/gnus/nnml.el (nnml-request-compact-group):
* lisp/gnus/nnvirtual.el (nnvirtual-request-expire-articles):
* lisp/gnus/nnselect.el (numbers-by-group):
(nnselect-request-update-info):
(nnselect-push-info):
Po Lu [Mon, 17 Jan 2022 13:45:44 +0000 (21:45 +0800)]
Merge from origin/emacs-28
f393d0d441 Fix regression leading to flickering tooltips when the mou...
Po Lu [Mon, 17 Jan 2022 13:45:44 +0000 (21:45 +0800)]
; Merge from origin/emacs-28
The following commit was skipped:
9e64aeff40 * Fix native comp for non trivial function names (bug#52833)
Po Lu [Mon, 17 Jan 2022 13:42:31 +0000 (21:42 +0800)]
Fix regression leading to flickering tooltips when the mouse is moved
* lisp/tooltip.el (tooltip-show-help): Compare string with
previous tooltip string ignoring properties.
Eli Zaretskii [Mon, 17 Jan 2022 12:51:53 +0000 (14:51 +0200)]
Revert "Add undelete-frame-max instead of undelete-frame-mode (bug#51883)"
This reverts commit
714e11d53534416b6519396a9df5d62054731810.
That commit was unilateral and disregarded past discussions.
Eli Zaretskii [Mon, 17 Jan 2022 12:51:03 +0000 (14:51 +0200)]
Revert "* etc/NEWS: Improve wording of 'undelete-frame-max' (bug#51883)."
This reverts commit
65666c47863c4ad2ed4bacd1a0bc5e638269df52.
The original commit was unilateral and disregarded past
discussions.
Po Lu [Mon, 17 Jan 2022 11:09:50 +0000 (11:09 +0000)]
Fix Emacs icon not appearing on Haiku
* lib-src/be_resources.cc (main): Scale input bitmap
appropriately before setting it as the mini and large icons.
* src/Makefile.in (Emacs): Add dependency on
`lib-src/be-resources'.
Andrea Corallo [Tue, 28 Dec 2021 11:12:16 +0000 (12:12 +0100)]
* Fix native comp for non trivial function names (bug#52833)
* lisp/emacs-lisp/comp.el (comp-c-func-name): Fix native compilation
for functions with function names containing non trivial
characters (bug#52833).
This commit is the backport of
e7699bf290.
Do not merge to master
Po Lu [Mon, 17 Jan 2022 10:46:55 +0000 (10:46 +0000)]
Use BControlLook to determine scroll bar size on Haiku
* src/haiku_support.cc (BScrollBar_default_size): Use
BControlLook instead of legacy constants.
Po Lu [Mon, 17 Jan 2022 10:08:04 +0000 (10:08 +0000)]
Display override redirect frames in all workspaces on Haiku
* src/haiku_support.cc (class EmacsWindow): New field
`pre_override_redirect_workspaces'.
(BWindow_set_override_redirect): Set window to display on all
workspaces.
Michael Albinus [Mon, 17 Jan 2022 09:46:58 +0000 (10:46 +0100)]
Improve handling of INFILE in tramp*-process-file (Bug#53284)
* lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-process-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-process-file):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file):
Improve handling of INFILE. Fix thinko using
`process-file-side-effects'. (Bug#53284)
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
Use `tramp-sshfs-handle-set-file-times'.
(tramp-sshfs-handle-set-file-times): New defun.
* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Extend test.
Juri Linkov [Mon, 17 Jan 2022 08:24:20 +0000 (10:24 +0200)]
* etc/NEWS: Improve wording of 'undelete-frame-max' (bug#51883).
Po Lu [Mon, 17 Jan 2022 05:06:31 +0000 (05:06 +0000)]
* src/haikufns.c (Fx_show_tip): Sync after making window visible.
Po Lu [Mon, 17 Jan 2022 04:52:00 +0000 (04:52 +0000)]
Really eliminate tooltip flicker on Haiku
* src/haikufns.c (tip_frame): Make non-static.
* src/haikuterm.c (haiku_read_socket): Ignore motion events that
didn't actually move when a tip frame is visible.
* src/haikuterm.h (tip_frame): Declare.
Po Lu [Mon, 17 Jan 2022 01:48:01 +0000 (09:48 +0800)]
Translate timestamps when using GTK native input
* src/gtkutil.c (xg_widget_key_press_event_cb): Use timestamp
specified in key event.
(xg_filter_key): Translate timestamps.
Po Lu [Mon, 17 Jan 2022 00:29:39 +0000 (08:29 +0800)]
Exercise wire right after event is filtered for native input
* src/xterm.c (handle_one_xevent): Run a no-op immediately after
an event was filtered by GDK.
Juri Linkov [Sun, 16 Jan 2022 20:58:30 +0000 (22:58 +0200)]
Add undelete-frame-max instead of undelete-frame-mode (bug#51883)
* doc/emacs/frames.texi (Frame Commands): Replace
undelete-frame-mode with undelete-frame-max.
* lisp/frame.el (undelete-frame-max): New defcustom, by default 1.
(undelete-frame--handle-delete-frame): Use undelete-frame-max
instead of hard-coded 16.
(undelete-frame-mode): Remove function.
(after-init-hook): Add hook undelete-frame--handle-delete-frame to
delete-frame-functions using after-init-hook to not store the
initial frame.
(undelete-frame): Remove undelete-frame-mode. Use undelete-frame-max
instead of hard-coded 16.
* lisp/menu-bar.el (menu-bar-file-menu): Remove menu item undelete-frame-mode.
* src/frame.c (Fdelete_frame): Replace `undelete-frame-mode' with
`undelete-frame-max' in the docstring.
Matthias Meulien [Sun, 16 Jan 2022 18:13:21 +0000 (20:13 +0200)]
Extend Outline mode with default visibility state
* etc/NEWS: Announce support for default visibility state (bug#51809).
* lisp/outline.el (outline-mode, outline-minor-mode): Ensure default
visibility state is applied with outline-apply-default-state.
(outline-default-state, outline-default-rules)
(outline-default-long-line, outline-default-line-count): New defcustoms.
(outline-apply-default-state, outline-show-only-headings)
(outline--show-headings-up-to-level): New functions.
Po Lu [Sun, 16 Jan 2022 13:39:14 +0000 (21:39 +0800)]
Fix XI2 event filtering for very old versions of libXi
* src/xterm.c (handle_one_xevent): Handle cases where
xev->display is NULL.
Po Lu [Sun, 16 Jan 2022 11:45:54 +0000 (19:45 +0800)]
Fix the xft build
* src/xsettings.h [!HAVE_PGTK]: Include dispextern.h and remove
duplicate definition of Display_Info.
Po Lu [Sun, 16 Jan 2022 11:02:58 +0000 (11:02 +0000)]
Use kMenuWindowFeel on Haiku toolkip windows
* src/haiku_support.cc (BWindow_set_tooltip_decoration): Use
kMenuWindowFeel and set flags here.
* src/haikufns.c (Fx_show_tip): Don't set_avoid_focus manually
since setting tooltip decorations already does that.
Po Lu [Sun, 16 Jan 2022 10:43:22 +0000 (10:43 +0000)]
Make help event generation on Haiku behave closer to X
* src/haikuterm.c (haiku_read_socket): Generate help events more
like how X does it.
Po Lu [Sun, 16 Jan 2022 10:12:22 +0000 (10:12 +0000)]
Reduce poll time for Haiku file dialogs
* src/haiku_support.c (be_popup_file_dialog): Reduce idle
processor load by increasing timeout. The timeout is still too
low to be noticable by the user.
Po Lu [Sun, 16 Jan 2022 10:02:04 +0000 (18:02 +0800)]
* src/gtkutil.c (xg_widget_key_press_event_cb): Also raise input signal.
Yuuki Harano [Sun, 16 Jan 2022 08:25:28 +0000 (17:25 +0900)]
* src/pgtkterm.c (evq_flush): Shift events one by one
Po Lu [Sun, 16 Jan 2022 05:57:14 +0000 (05:57 +0000)]
Avoid focus and allow monospace text in tooltip frames on Haiku
* src/haikufns.c (Fx_show_tip): Set avoid focus on tooltip
frames.
* src/haikuterm.c (haiku_default_font_parameter): Don't special
case the default font on tooltip frames, since the bug that was
supposed to work around has already been fixed.
Stefan Kangas [Sun, 16 Jan 2022 05:51:09 +0000 (06:51 +0100)]
Merge from origin/emacs-28
e488601849 Update to Org 9.5.2-9-g7ba24c
95640360f0 * lisp/net/dictionary.el (dictionary-context-menu): Use pa...
Stefan Kangas [Sun, 16 Jan 2022 05:51:09 +0000 (06:51 +0100)]
; Merge from origin/emacs-28
The following commit was skipped:
2dcb1bc474 Mark a few more map tests as unstable on Emacs 28 (Bug#467...
Stefan Kangas [Sun, 16 Jan 2022 05:51:09 +0000 (06:51 +0100)]
Merge from origin/emacs-28
7f36aca99d * lisp/indent.el (tab-first-completion): Fix incorrect cho...
Po Lu [Sun, 16 Jan 2022 05:46:39 +0000 (13:46 +0800)]
Update modifier meanings even if an xkb_desc was not available
* src/xterm.c (handle_one_event): Always update modifiers after
the keyboard mapping is refreshed.
Po Lu [Sun, 16 Jan 2022 02:05:17 +0000 (10:05 +0800)]
* src/xwidget.c (webkit_js_to_lisp): Use correct constant to check size.
Po Lu [Sun, 16 Jan 2022 00:47:41 +0000 (00:47 +0000)]
Fix a minor snafu when resizing frames on Haiku
* src/haiku_support.cc (BWindow_resize): Adjust for minor snafu
where BWindow::ResizeTo uses BRect-style width and height
instead of actual width and height.
Tassilo Horn [Sat, 15 Jan 2022 22:59:20 +0000 (23:59 +0100)]
Add some more mailcap tests.
* test/lisp/net/mailcap-resources/mailcap: New file.
* test/lisp/net/mailcap-resources/test.test: New file.
* test/lisp/net/mailcap-tests.el (with-pristine-mailcap): New macro.
(mailcap-parsing-and-mailcap-mime-info): New test for parsing mailcap
files and selecting the right viewer.
(mailcap--test-result): New variable.
(mailcap--test-viewer): New function.
(mailcap-view-file): New test for mailcap-view-file.
Kyle Meyer [Sat, 15 Jan 2022 21:02:26 +0000 (16:02 -0500)]
Update to Org 9.5.2-9-g7ba24c
Juri Linkov [Sat, 15 Jan 2022 18:58:31 +0000 (20:58 +0200)]
* lisp/net/dictionary.el (dictionary-context-menu): Use package prefix.
Juri Linkov [Sat, 15 Jan 2022 18:37:15 +0000 (20:37 +0200)]
* lisp/mouse.el (context-menu-map): Select clicked window (bug#53249).
Juri Linkov [Sat, 15 Jan 2022 18:33:45 +0000 (20:33 +0200)]
More fixes for recently committed context-menu additions from bug#52973
* lisp/hi-lock.el (highlight-symbol-at-mouse): New defalias.
(hi-lock-face-symbol-at-mouse): Rename from hi-lock-symbol-at-mouse.
(hi-lock-context-menu): Use thing-at-mouse and middle-separator.
* lisp/man.el (Man-context-menu): Fix Man-at-mouse and use middle-separator.
* lisp/mouse.el (context-menu-functions): Remove context-menu-online-search.
Add occur-context-menu and dictionary-context-menu (bug#50552).
Juri Linkov [Sat, 15 Jan 2022 18:27:15 +0000 (20:27 +0200)]
* doc/emacs/search.texi (Special Isearch): Move isearch-char-by-name item back
Put it at the end of the list and still closer to isearch-emoji-by-name.
Stefan Monnier [Sat, 15 Jan 2022 14:31:55 +0000 (09:31 -0500)]
* pcvs-info.el (cvs-mode-toggle-mark): Typo
Eli Zaretskii [Sat, 15 Jan 2022 13:58:21 +0000 (15:58 +0200)]
Fix setting cursor in pixel-scrolling modes
* src/xdisp.c (redisplay_window): Don't set cursor to any glyph
row past the one that contains EOB. (Bug#53275)
Lars Ingebrigtsen [Sat, 15 Jan 2022 13:15:54 +0000 (14:15 +0100)]
Don't strip properties in show-paren-function
* lisp/paren.el (show-paren-function): Don't strip text properties
(bug#51606) because that makes the offscreen context less
informative.
Po Lu [Sat, 15 Jan 2022 12:14:31 +0000 (20:14 +0800)]
Use preferred XIM style without trying to detect if it's supported
The old code would in general fall back to the default if the
preferred style wasn't available, which is usually worse than
what the user specified
* src/xfns.c (best_xim_style): Stop checking if the preferred
input style is supported.
Philipp Stephani [Sat, 15 Jan 2022 11:40:09 +0000 (12:40 +0100)]
Mark a few more map tests as unstable on Emacs 28 (Bug#46722).
At least for me, these tests still occasionally fail.
Do not merge to master.
* test/lisp/emacs-lisp/map-tests.el (test-map-into-hash-test)
(test-map-merge, test-map-merge-with, test-map-merge-empty): Mark as
unstable.
Philipp Stephani [Fri, 14 Jan 2022 19:49:35 +0000 (20:49 +0100)]
* lisp/indent.el (tab-first-completion): Fix incorrect choices.
Lars Ingebrigtsen [Sat, 15 Jan 2022 10:55:18 +0000 (11:55 +0100)]
Add emoji-alternate-names variable
* lisp/international/emoji.el (emoji-alternate-names): New
variable (bug#52860).
(emoji-search): Note usage.
(emoji--choose-emoji): Use it.
Tassilo Horn [Sat, 15 Jan 2022 10:23:46 +0000 (11:23 +0100)]
mailcap: Docfix & handle function-viewer case in mailcap-view-file
* lisp/net/mailcap.el (mailcap-mime-data): Fix docstring: if viewer is
a symbol/function, it should have zero args and expect the file's
contents to be in the current buffer.
(mailcap-view-file): Implement the case where the chosen viewer is a
function and not a shell command.
Po Lu [Sat, 15 Jan 2022 10:18:34 +0000 (18:18 +0800)]
Prevent pre-edit overlay text from being displayed after a command
This works around buggy input methods causing the overlay to be
displayed alongside newly inserted text for a brief period.
* lisp/term/x-win.el (x-clear-preedit-text): New function.
(x-preedit-text): Add said function to pre-command-hook. It
will remove itself when triggered.
Po Lu [Sat, 15 Jan 2022 10:11:35 +0000 (18:11 +0800)]
* src/emacsgtkfixed.c (XSetWMSizeHints): Remove some useless code.
Lars Ingebrigtsen [Sat, 15 Jan 2022 09:40:39 +0000 (10:40 +0100)]
Don't bug out on improper lists in pp-emacs-lisp-code
* lisp/emacs-lisp/pp.el (pp--format-list): Don't bug out on
improper lists (bug#52917).
Tom Tromey [Sat, 15 Jan 2022 09:30:24 +0000 (10:30 +0100)]
Use "server complete" instead of "complete" in gud-gdb-completions
* lisp/progmodes/gud.el (gud-gdb-completions): gud-gdb sends a
"complete" command to gdb to implement command line completion. It
would be better to send "server complete". This is what Emacs does
for other behind-the-scenes commands it sends (bug#52922).
Alex Bochannek [Sat, 15 Jan 2022 09:28:14 +0000 (10:28 +0100)]
(gnus-summary-hide-thread): Fix thread hiding for dummy roots.
* lisp/gnus/gnus-sum.el (gnus-summary-hide-thread): Make thread
hiding work when using dummy `gnus-summary-make-false-root'
(bug#52923).
Lars Ingebrigtsen [Sat, 15 Jan 2022 08:30:01 +0000 (09:30 +0100)]
Improve the with-output-to-temp-buffer doc string
* lisp/subr.el (with-output-to-temp-buffer): Clarify the point of
the macro (bug#53265).